\chapter{Uhlig2017 Sign}
\section{对脉冲响应解析表达的一个有趣处理}
诱导形式的VAR可以写为，
\[ Y_t=c + \sum_{j=1}^{k}B_j Y_{t-j} + u_t \]

其中，$ E(u_t)=0, E(u_tu'_t)=\Sigma$。所谓结构冲击$ \varepsilon_t $，它要满足相互正交，最好方差为1。意即，
\[E(\varepsilon_t)=0, E(\varepsilon_t\varepsilon'_t)=I \]

如何从$ u_t $恢复至$ \varepsilon_t $？只要找一个这样的矩阵$ A $，使得，
\[ u_t=A\varepsilon_t \]

可以看到，$ A $满足，
\[ \Sigma = AA' \]

这可以通过对$ \Sigma $的乔利斯基分解做到。那么脉冲响应可以做一个如下处理。即将多阶的VAR堆成一个一阶滞后的VAR，
\[ \tilde{Y}_t=\begin{bmatrix}
Y_t\\ Y_{t-1}\\ \vdots \\ Y_{t-k+1}
\end{bmatrix}, 
\tilde{c}=\begin{bmatrix}
c\\ 0 \\ \vdots\\ 0
\end{bmatrix},
\tilde{B}=\begin{bmatrix}
B_1&\cdots& B_{k-1}& B_k\\
I & \cdots& 0 &0\\
\vdots&\ddots&\vdots&\vdots\\
0&\cdots&I&0
\end{bmatrix},
\tilde{A}=\begin{bmatrix}
A\\ 0 \\ \vdots\\ 0
\end{bmatrix} \]

于是，有，
\[ \tilde{Y}_t = \tilde{c} + \tilde{B}\tilde{Y}_{t-1} + \tilde{A}\varepsilon_t \]

对于一阶滞后的VAR，脉冲响应是简单的，第$ k $期的响应可以写为，
\begin{equation}\label{signeq1}
 \tilde{r}_k=\tilde{B}^k\tilde{A}e_j
\end{equation}

其中，$ e_j $是一个0向量，只有第$ j $个元素为1。意味着是第$ j $个变量对其他变量形成冲击。
\section{符号约束的原理}
注意\eqref{signeq1}式，脉冲响应实际是$ \tilde{A}e_j $之后变成了一列，然后用这一列乘以移动平均系数$ \tilde{B} $得到各变量在$ k $期的响应。

可以看到，假如乔利斯基分解可以得到$ \Sigma = LL' $，但是可以选一个这样的矩阵$ R $,只要满足$ RR'=I $，那么就能得到一个这样的$ A $，
\[ A=LR \]

这个$ A $也一样满足$ \Sigma = AA' $，也是一种矩阵分解。然后我用这个$ A $去乘以$ \tilde{B}^k $一样可以得到脉冲响应。关键看你这个$ R $是怎么来的。实践中，我们没有必要去随机抽取矩阵$ R $，只要抽取一个列$ r $,然后$ Ar $就相当于$ \tilde{A}e_j $的效果。$ r $的抽取应该来自一个均匀分布的单位球(这就保证了$ RR'=I $)。

然后观察这样抽取的$ r $从而得到脉冲响应是不是你想要的方向，如果是，保留它。如果不是，丢弃它。
